package com.bt.service.impl;

import com.bt.dto.YddCateDTO;
import com.bt.dto.YddCatePageListDTO;
import com.bt.entity.YddCate;
import com.bt.mapper.YddCateMapper;
import com.bt.result.PageResult;
import com.bt.service.YddCateService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Description 分类管理业务层实现类
 * @Author 张传康
 * @Date 2023-05-02 0:43
 */
@Service
public class YddCateServiceImpl implements YddCateService {
    @Autowired
    private YddCateMapper yddCateMapper;

    /**
     * 分页条件查询
     *
     * @param yddCatePageListDTO
     * @return
     */
    @Override
    public PageResult pageQuery(YddCatePageListDTO yddCatePageListDTO) {
        // 设置参数
        PageHelper.startPage(yddCatePageListDTO.getPage(), yddCatePageListDTO.getLimit());
        //下一条sql进行分页，自动加入limit关键字分页
        Page<YddCate> page = yddCateMapper.pageQuery(yddCatePageListDTO);

        return new PageResult(page.getTotal(), page.getPages(),
                page.getPageSize(), page.getPageNum(), page.getResult());
    }



    /**
     * 分类删除
     *
     * @param id
     */
    @Override
    public void deleteById(Integer id) {
        yddCateMapper.deleteById(id);
    }

    /**
     * 分类添加
     * 不全数据
     *
     * @param addYddCateDTO
     */
    @Override
    public void save(YddCateDTO addYddCateDTO) {
        YddCate yddCate = new YddCate();
        BeanUtils.copyProperties(addYddCateDTO, yddCate);
        yddCate.setSortNum(addYddCateDTO.getSort_num());
        yddCateMapper.save(yddCate);
    }

    /**
     * 分类详情
     *
     * @param id
     * @return
     */
    @Override
    public YddCate queryRowInfo(Integer id) {
        return yddCateMapper.query(id);
    }

    /**
     * 分类修改
     * 补充数据
     *
     * @param yddCateDTO
     */
    @Override
    public void update(YddCateDTO yddCateDTO) {
        YddCate yddCate = new YddCate();
        BeanUtils.copyProperties(yddCateDTO, yddCate);
        yddCate.setId(yddCateDTO.getId());
        yddCateMapper.update(yddCate);
    }

    /**
     * 查询全部数据
     *
     * @return
     */
    @Override
    public List<YddCate> all() {
        List<YddCate> yddCateList = yddCateMapper.getAll();

        return yddCateList;
    }
}
